import Vue from 'vue';

const big = Vue.directive('big', {
    //1.指令绑定到元素上回立刻执行bind函数，只执行一次
    //2.每个函数中第一个参数永远是el，表示绑定指令的元素，el参数是原生js对象
    //3.通过el.focus()是无法获取焦点的，因为只有插入DOM后才生效
    bind: function () {
    },
    //inserted表示一个元素，插入到DOM中会执行inserted函数，只触发一次
    inserted: function (el) {
        let isbig = false
        el.onclick = function () {
            if (!isbig) {
                el.parentNode.parentNode.parentNode.style.height = window.innerHeight - 44 + 'px'
                el.parentNode.parentNode.parentNode.style.width = window.innerWidth + 'px'
                el.parentNode.parentNode.parentNode.style.left = 0
                el.parentNode.parentNode.parentNode.style.top = 0
                el.parentNode.parentNode.parentNode.style.margin = 0
                isbig = !isbig
            } else {
                el.parentNode.parentNode.parentNode.style.height = 600 + 'px'
                el.parentNode.parentNode.parentNode.style.width = 800 + 'px'
                el.parentNode.parentNode.parentNode.style.left = window.innerWidth * 0.5 + 'px'
                el.parentNode.parentNode.parentNode.style.top = window.innerHeight * 0.5 + 'px'
                el.parentNode.parentNode.parentNode.style.marginLeft = -400 + 'px'
                el.parentNode.parentNode.parentNode.style.marginTop = -300 + 'px'
                isbig = !isbig
            }
        }
    },
    //当VNode更新的时候会执行updated，可以触发多次
    updated: function () {
    }
})
export default big;